package com.atguigu.juc1205.fileoperation;

import lombok.Data;
import org.apache.poi.hssf.usermodel.HSSFRow;

import java.text.ParseException;
import java.util.Date;

/**
 * @Author Joey
 * @Date 2021/11/15 14:15
 * @Description excel导入的原始数据
 * 作者在文中提到，对于可变对象更偏爱使用对象类，也就是所谓的封装记录。
 * 那什么是可变数据和不可变数据呢？
 * 简单来说就是如果一个变量修改值会导致其在内存中地址的改变，那么它就是一个不可变数据，否则就是一个可变数据。
 * OriginalData{a:111} OriginalData{name:aa,age:23}
 */
@Data
public class OriginalData {
    private int no;
    private String name;
    private String signTime;
    private String date;


    /**
     * 函数组合成变换
     * @param row 原始数据
     * @throws ParseException 日期转换异常
     */
    public void build(HSSFRow row) throws ParseException {
        String date = ExcelUtil.getDate(row, 3);
        this.no = Integer.parseInt(ExcelUtil.getrowData(row, 1));
        this.name = ExcelUtil.getrowData(row, 2);
        this.signTime = date;
        this.date = date.substring(0, date.indexOf(" "));
    }
}
